package com.fansl.koala.quickdev.common.enums;

import com.fansl.koala.quickdev.common.exception.EnumNotfoundException;
import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;

/**
 * @author fansl
 * @Description: 用户权限类型
 * @date 2020/4/8 14:59
 */
@Getter
@AllArgsConstructor
public enum UserPermissionType {
    /**
     * 加权限
     */
    ADD("1","加权限"),
    /**
     * 减权限
     */
    REDUCE("2","减权限"),
    ;
    private final String code;
    private final String message;

    /**
     * 根据code获取枚举值，未找到抛出异常
     * @param code 代码
     * @return 枚举成员
     */
    public static UserPermissionType findByCode(String code) {
        return Arrays.stream(UserPermissionType.values())
                .filter(enumMember -> enumMember.code.equals(code))
                .findFirst()
                .orElseThrow(EnumNotfoundException::new);
    }
}
